home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 24
/
Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso
/
Aminet
/
game
/
role
/
Zngam206.lha
/
Zangband
/
help
/
version.txt
< prev
Wrap
Text File
|
1998-01-22
|
19KB
|
422 lines
=== Zangband History and Information ===
The seeds of Zangband lie in an obsolete and long ago vanished PC variant
(somewhat misleadingly) dubbed Angband--. The variant was written by a
hopeless Angband addict (previously Moria veteran and winner) who got
bored with the standard monsters and wanted to introduce some new
monsters. Angband-- was based on the PC Angband 1.31 sources, and
it was set in Roger Zelazny's 'Amber' universe.
Later this individual got a better computer and learned to code, and
produced the PC Zangband, and most Angband-- monsters survived into
PC Zangband 1.0. PC Zangband 1.0 was the first PC Angband to introduce
(simple, font-based) graphics, which were also used in the graphical
PC Angband 1.40.
Yet this individual was still not cured of his addiction... his almost
as strong addiction to the Civilization style fantasy strategy game
'Master of Magic' inspired him to write a new magic system. The current
version of Zangband (2.*) incorporates this magic system, as well as
the best features from Angband-- and PC Zangband 1.0. It is based on
the Angband 2.8.1 sources (by Ben Harrison), and is therefore portable
to other systems (unlike the earlier versions which were for dos-pc's
only).
Incidentally, this person (me, Topi Ylinen) also thought that the
standard Angband monsters were too easy, which led him to introduce
such monsters as Death swords, Cyberdemons and Great wyrms of power...
Special thanks -- The current version of Zangband might not come into
existence without the significant help from these excellent Angband
programmers:
Greg Wooledge, who pointed out a bug in the dos compiler,
which was preventing my progress with the first 2.* version
of Zangband.
Julian Lighton, who must have sent me more ideas, patches, and
bug reports, than all the others toghether.
Robert Ruehlmann, whose nice new main-ibm.c enables SVGA
graphics and even windows in ms-dos.
=== Brief Version History (of standard Angband) ===
First came "VMS Moria", by Robert Alan Koeneke (1985).
Then came "Umoria" (Unix Moria), by James E. Wilson (1989).
In 1990, Alex Cutler and Andy Astrand, with the help of other students
at the University of Warwick, created Angband 1.0, based on the existing
code for Umoria 5.2.1. They wanted to expand the game, keeping or even
strengthening the grounding in Tolkien lore, while adding more monsters
and items, including unique monsters and artifact items, plus activation,
pseudo-sensing, level feelings, and special dungeon rooms.
Over time, Sean Marsh, Geoff Hill, Charles Teague, and others, worked on
the source, releasing a copy known as "Angband 2.4.frog_knows" at some
point, which ran only on Unix systems, but which was ported by various
people to various other systems.
Then Charles Swiger (cs4w+@andrew.cmu.edu) attempted to clean up the mess,
resulting in several versions, starting sometime around November, 1993, with
Angband 2.5.1 (more or less) and leading up to Angband 2.6.2 in late 1994.
Several people ported (the primarily Unix/NeXT centered) Angband 2.6.1 to
other platforms, including Keith Randall, who made a Macintosh port that
added support for color usage. Some of the changes during this period were
based on suggestions from the "net", PC Angband 1.40, UMoria 5.5, and some
of the Angband "variations", such as FAngband.
Finally, I (Ben Harrison) took over in late 1994 when Charles Swiger left.
Initially my intention was simply to clean up what had become, after ten
years, a rather unholy mess, but the deeper I delved into the code, the
more it became apparent that drastic changes were needed, so, starting
with MacAngband 2.6.1, I began a more or less total rewrite, resulting,
eventually, in Angband 2.7.0, released around January first, 1995.
Angband 2.7.0 was a very clean (but very buggy) rewrite that, among other
things, allowed extremely simple porting to multiple platforms, starting
with Unix and Macintosh, and by the time most of the bugs were cleaned up,
in Angband 2.7.2, including X11, and various IBM machines. Angband 2.7.4
was released to the "ftp.cis.ksu.edu" site, and quickly gained acceptance,
perhaps helped by the OS2 and Windows and Amiga and Linux ports. Angband
2.7.5 and 2.7.6 added important capabilities such as macros and user pref
files, and continued to clean up the source. Angband 2.7.8 was designed
to supply another "stable" version that we can all give to our friends,
with new "help files" and "spoiler files" for the "online help", plus a
variety of minor tweaks and some new features. Angband 2.7.9 optimized
a few things, and tweaked a few other things, and cleaned up a few other
things, and introduced a few minor semantic changes.
It is very hard to pin down, along the way from 2.6.2 to 2.7.0, and thence
to 2.7.8, exactly what was added exactly when. Most of these steps involved
so many changes as to make "diff files" not very useful, since often the diff
files were as long as the code itself. Most of the changes, with the notable
exception of the creation of the new "main-xxx.c" files for the various new
platforms, and a few other exceptions generally noted in the source, were
written by myself, either spontaneously, or, more commonly, as the result of
a suggestion or comment by an Angband player. So if you have any problems
with anything that you do not recognize from older versions, you can blame
them on me. And if you like the new features and such, you can send me a
brief little "thank you" email (to benh@voicenet.com) or something...
The Official Angband Home Page ("http://www.voicenet.com/~benh/Angband/")
was created along with Angband 2.7.9 to serve as an up to date description
of any bugs found in various versions, and to list all of the people whose
email addresses I kept having to look up.
=== Some of the changes from Angband 2.6.1 to Angband 2.7.9 ===
The most important modification was a massive "code level cleanup" that made
all of my other modifications much simpler and safer. This cleanup was so
massive that in many places the code is no longer recognizable, for example,
via "diff -r", often because it was rewritten from scratch.
The second most important modification was the design of a generic "term.c"
package, which allows Angband to be ported to a new machine with as few as 50
lines of code. Angband 2.7.9 thus runs without modification on many machines,
including Macintosh, PowerMac, Unix/X11, Unix/Curses, Amiga, Windows, OS2-386,
DOS-386, and even DOS-286.
It would be difficult to list all of the changes between Angband 2.6.1 and
Angband 2.7.9, because many of them were made in passing during the massive
code level cleanup. Many of the changes are invisible to the user, but still
provide increased simplicity and efficiency, and decreased code size, or make
other more visable changes possible. For example, the new "project()" code
that handles all bolts, beams, and balls, the new "update_view()" code that
simplifies line of sight computation, or the new "generate()" code that builds
new levels in the dungeon. Many changes have been made to increase efficiency,
including the new "process_monsters()" and "update_monsters()" functions, and
the new "objdes()" and "lite_spot()" routines. The generic "Term" package
yielded efficient screen updates, and enabled the efficient use of "color".
But anyway, here are a few things that come to mind, in no particular order,
and with very little time or effort. Somehow I managed to put off updating
this file to the very end, and it will just have to do for now. The recent
changes (and bug fixes) can be found at the Official Angband Home Page.
color
macros
keymaps
user pref files
generic feature array, with template file
generic object array, with template file
generic artifact array, with template file
generic ego-item array, with template file
generic monster array, with template fils
generic vault array, with template file